package com.taxis.action;

import java.util.List;

import org.apache.struts2.ServletActionContext;

import com.taxis.model.Comentarios;
import com.taxis.model.Reporte;
import com.taxis.model.Taxista;
import com.taxis.model.Unidad;
import com.taxis.service.ComentariosDaoService;
import com.taxis.service.ReporteDaoService;
import com.taxis.service.TaxistaDaoService;
import com.taxis.service.UnidadDaoService;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class ComentariosAction extends ActionSupport {

	private ComentariosDaoService comentariosService = new ComentariosDaoService();
	private Comentarios comentario;
	private List<Comentarios> comentarios;
	private Taxista taxista;
	private Reporte reporte;
	private Unidad unidad;

	public Comentarios getComentario() {
		return comentario;
	}

	public void setComentarios(Comentarios comentario) {
		this.comentario = comentario;
	}

	
	public List<Comentarios> getComentarios() {
		return comentarios;
	}

	public String save() throws Exception {
		Comentarios comentar = new Comentarios();
		String coms = ServletActionContext.getRequest().getParameter("comen");
		int idrep  = Integer.parseInt(ServletActionContext.getRequest().getParameter("idReporte"));
		comentar.setComentarios(coms);
		comentar.setReporte(getReporte());
		comentariosService.insertComentarios(comentar);
		
		return SUCCESS;
	}

	public String view() throws Exception{
		comentarios = comentariosService.getAllComentarios();
		return SUCCESS;
	}

	public String edit() throws Exception{
		comentario = comentariosService.getComentarios(comentario.getIdComentarios());
		return SUCCESS;
	}

	public String delete() throws Exception {
		comentariosService.deleteComentarios(comentario.getIdComentarios());
		return SUCCESS;
	}
	
	public String getDataForComment() throws Exception{
		int idpeticion = Integer.parseInt(ServletActionContext.getRequest().getParameter("idPeticion"));
		TaxistaDaoService taxistasService = new TaxistaDaoService();
		ReporteDaoService reporteService = new ReporteDaoService();
		UnidadDaoService unidadService = new UnidadDaoService();
		setReporte(reporteService.findByPeticion(idpeticion));
		setTaxista(taxistasService.findByReporteAndPeticion(getReporte().getIdReporte()));
		setUnidad(unidadService.findByTaxista(getTaxista().getIdTaxista()));
		return SUCCESS;
	}

	public void setTaxista(Taxista taxista) {
		this.taxista = taxista;
	}

	public Taxista getTaxista() {
		return taxista;
	}

	public void setReporte(Reporte reporte) {
		this.reporte = reporte;
	}

	public Reporte getReporte() {
		return reporte;
	}

	public void setUnidad(Unidad unidad) {
		this.unidad = unidad;
	}

	public Unidad getUnidad() {
		return unidad;
	}
}